Skip to content

CORE-15424 schemaregistry: default enable schema_registry_enable_qualified_subjects#30365

Merged
pgellert merged 2 commits into
redpanda-data:devfrom
pgellert:worktree-breezy-waddling-walrus
May 11, 2026
Merged

CORE-15424 schemaregistry: default enable schema_registry_enable_qualified_subjects#30365
pgellert merged 2 commits into
redpanda-data:devfrom
pgellert:worktree-breezy-waddling-walrus

Conversation

@pgellert
Copy link
Copy Markdown
Contributor

@pgellert pgellert commented May 1, 2026

For the 26.2 release, enable schema-registry context support by default by flipping schema_registry_enable_qualified_subjects from false to true and promoting the property to user visibility. Qualified subject syntax (e.g. :.context:subject) is now parsed out-of-the-box rather than requiring an opt-in cluster config change.

It also cleans up the startup_config-based locking of the value of the schema_registry_enable_qualified_subjects property, since the ae61cc7 already provides the desired behaviour for needs_restart properties.

Fixes https://redpandadata.atlassian.net/browse/CORE-15424

Backports Required

  • none - not a bug fix
  • none - this is a backport
  • none - issue does not exist in previous branches
  • none - papercut/not impactful enough to backport
  • v26.1.x
  • v25.3.x
  • v25.2.x

Release Notes

Features

  • Schema Registry context support is now enabled by default. Subjects of the form :.context:subject are parsed into a separate context. See upgrade considerations before upgrading clusters that may have stored literal :.-prefixed subject names.

@pgellert pgellert requested a review from a team May 1, 2026 10:00
@pgellert pgellert self-assigned this May 1, 2026
@pgellert pgellert requested review from BenPope and removed request for a team May 1, 2026 10:00
@pgellert pgellert requested a review from a team as a code owner May 1, 2026 10:00
@pgellert pgellert requested review from Copilot and nguyen-andrew and removed request for BenPope May 1, 2026 10:00
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Enables Schema Registry context support by default by flipping schema_registry_enable_qualified_subjects to true and making it user-visible, so qualified subjects like :.context:subject are parsed without an opt-in cluster config change.

Changes:

  • Change the default for schema_registry_enable_qualified_subjects to true and promote visibility to user.
  • Remove config::startup_config usage/implementation for SR qualified-subject parsing and rely on needs_restart config semantics instead.
  • Update Python and C++ tests/build targets to reflect the new default and the removal of the startup-captured flag.

Reviewed changes

Copilot reviewed 19 out of 19 changed files in this pull request and generated no comments.

Show a summary per file
File Description
tests/rptest/tests/schema_registry_test.py Updates the “flag off” test to explicitly disable the setting now that default is enabled.
tests/rptest/tests/metrics_reporter_test.py Drops redundant extra_rp_conf enabling the setting (now default).
tests/rptest/tests/audit_log_test.py Removes redundant cluster-config enabling (now default).
src/v/security/tests/authorizer_test.cc Removes per-test local enabling of qualified parsing (now default).
src/v/pandaproxy/schema_registry/types.h Removes enable_qualified_subjects startup-captured flag type.
src/v/pandaproxy/schema_registry/types.cc Reads schema_registry_enable_qualified_subjects directly from shard_local_cfg() during parsing.
src/v/pandaproxy/schema_registry/test/store_fixture.cc Removes per-fixture enable/reset of qualified parsing (now default).
src/v/pandaproxy/schema_registry/test/storage.cc Removes fixture SetUp/TearDown that toggled the old startup flag.
src/v/pandaproxy/schema_registry/test/context_subject.cc Updates tests to toggle the config property instead of the removed startup flag.
src/v/pandaproxy/schema_registry/test/consume_to_store.cc Removes per-test enabling/reset of qualified parsing (now default).
src/v/pandaproxy/schema_registry/test/BUILD Adds //src/v/config dep for tests that now manipulate config directly.
src/v/pandaproxy/schema_registry/requests/test/post_subject_versions.cc Removes per-test enabling/reset of qualified parsing (now default).
src/v/pandaproxy/schema_registry/api.cc Removes startup init/reset of the removed startup-captured flag; logs current config value.
src/v/pandaproxy/schema_registry/BUILD Removes startup_config deps; adds //src/v/config where needed.
src/v/config/tests/startup_config_test.cc Removes tests for startup_config (feature removed).
src/v/config/tests/BUILD Removes the startup_config_test target.
src/v/config/startup_config.h Removes the startup_config implementation.
src/v/config/configuration.cc Flips default to true and sets visibility to user for the SR qualified-subject config.
src/v/config/BUILD Removes the startup_config library target.

pgellert added 2 commits May 4, 2026 10:40
Promote the property to user visibility and flip the default to true.
Qualified subject syntax (:.context:subject) is now parsed by default;
clusters with literal-subject data can still opt out by setting the flag
to false.
The startup_config<bool> wrapper was emulating "the value is fixed for
the lifetime of the service" semantics for a config flag that requires
restart. Since ae61cc7, needs_restart properties already provide that
guarantee at the property layer, so we can avoid this complexity and
deprecate startup_config.
@dotnwat dotnwat force-pushed the worktree-breezy-waddling-walrus branch from a9eacb6 to 6898146 Compare May 4, 2026 17:57
Copy link
Copy Markdown
Member

@nguyen-andrew nguyen-andrew left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

@pgellert pgellert merged commit 42d8469 into redpanda-data:dev May 11, 2026
21 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants